/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.utils.code.error;

import java.util.ResourceBundle;

import org.apache.commons.lang.StringUtils;

/**
 * @author Holmes Kelly
 */
public enum ConsultationSoldeCodeError {

    /**
     * 
     */
    CODE_ERROR_00("00", "erreur.services.tigre.consult.solde.00"),

    /**
     * 
     */
    CODE_ERROR_10("10", "erreur.services.tigre.consult.solde.10"),

    /**
     * 
     */
    CODE_ERROR_11("11", "erreur.services.tigre.consult.solde.11"),

    /**
     * 
     */
    CODE_ERROR_12("12", "erreur.services.tigre.consult.solde.12"),

    /**
     * 
     */
    CODE_ERROR_13("13", "erreur.services.tigre.consult.solde.13"),

    /**
     * 
     */
    CODE_ERROR_90("90", "erreur.services.tigre.consult.solde.90");

    /**
     * code error
     */
    private String code;

    /**
     * message error
     */
    private String message;

    /**
     * @param code code
     * @param message message
     */
    private ConsultationSoldeCodeError(String code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * @return the code
     */
    public String getCode() {
        return code;
    }

    /**
     * @return the message
     */
    public String getMessage() {
        return message;
    }

    /**
     * @param cle cle message error services
     * @return message
     */
    public static String getMessageErrorService(String cle) {

        ResourceBundle bundle = ResourceBundle.getBundle("fr.generali.accueilclient.erreur-services-business");

        return bundle.getString(cle);
    }

    /**
     * @param cle cle message error services
     * @return message
     */
    public static String getMessageErrorServiceParCode(String codeError) {

        for (ConsultationSoldeCodeError soldeCodeError : values()) {

            if (StringUtils.equals(codeError, soldeCodeError.code)) {

                return getMessageErrorService(soldeCodeError.message);
            }
        }

        return StringUtils.EMPTY;
    }

}
